1. Field of the Invention
The present invention relates to an audio coding/decoding process, and more particularly, to a lossless coding/decoding apparatus and method for quantization indices of spectral coefficients.
The present invention is derived from a research project by the Information Technology (IT) Research & Development (R&D) program of the Ministry of Information and Communication (MIC) and the Institute for Information Technology Advancement (IITA) [2005-S-005-01], Development of Richmedia Broadcasting technologies through Advanced Audio and Video Codec technologies]
2. Description of the Related Art
FIG. 1A is a block diagram for explaining a general concept of an audio coder that is widely used in MPEG-1 audio layer-3 (MP3), advanced audio coding (AAC) codecs and so on. Referring to FIG. 1A, the audio coder includes a transformation unit 100, a psychoacoustic analyzation unit 110, a quantization unit 120, and a lossless coding unit 130.
The transformation unit 100 transforms an audio signal from the time domain to the frequency domain so as to generate spectral coefficients. The psychoacoustic analyzation unit 110 analyzes acoustic characteristics of the audio signal so as to generate masking information of the audio signal. The quantization unit 120 quantizes the spectral coefficients so as to output quantization indices of the spectral coefficients. In this case, the quantization unit 120 determines a quantization step-size of each frequency band in accordance with the masking information and quantizes the spectral coefficients in accordance with the quantization step-size. The quantization unit 120 may use various quantizing methods such as a prediction quantizing method in order to improve the quantizing performance. The lossless coding unit 130 codes the quantization indices of the spectral coefficients so as to generate a bitstream that is transmitted through a storage medium or a communication channel.
FIG. 1B is a block diagram for explaining a general concept of an audio decoder that corresponds to the audio coder illustrated in FIG. 1A. Referring to FIG. 1B, the audio decoder includes a lossless decoding unit 140, an inverse quantization unit 150, and an inverse transformation unit 160.
The lossless decoding unit 140 decodes a bitstream transmitted through a storage medium or a communication channel so as to extract quantization indices. The inverse quantization unit 150 inversely quantizes the quantization indices so as to calculate spectral coefficients. The inverse transformation unit 160 transforms the spectral coefficients from the frequency domain to the time domain so as to ultimately restore an audio signal.
In the audio coder illustrated in FIG. 1A, when lossless coding is performed, input data to be coded is generally referred to as a symbol, inverse conversion may be performed between an input symbol and an output code (that is, the input symbol may be restored from the output code), and coding without additional distortion is referred to as lossless coding. An object of lossless coding is to code a plurality of input symbols so as to have the least amounts of bits. In general, when lossless coding is performed by using quantization indices of spectral coefficients as the symbols, an entropy coding method such as a Huffman coding method or an arithmetic coding method is used.
Frequency characteristics greatly differ in accordance with the types of audio signals and have large differences between frames in the same audio signal. Also, the spectral coefficients of a general audio signal have different frequency characteristics in accordance with frequency bands. For example, the spectral coefficients of a high frequency band have different frequency characteristics from those of a low frequency band. In order to improve the lossless coding performance, a statistical model that is suitable for a symbol has to be used. If the statistical model is not suitable for the symbol, the lossless coding performance greatly deteriorates. However, as described above, an audio signal includes a plurality of symbols having very different characteristics and, if the audio signal is coded by using one statistical model, the detailed characteristics of each symbol may not be reflected and thus the lossless coding performance may deteriorate.
Thus, in an environment having various characteristics regarding the symbols, a method of improving coding performance is required. In a general Huffman coding method, in order to solve the above problem, a plurality of Huffman tables may be provided. That is, a plurality of Huffman tables are generated by using different statistical models and coding is performed by selecting the Huffman tables which are suitable for the symbols. In this case, overhead bits are required to transfer information of the Huffman table selected for the symbols, and thus it is inefficient to select a Huffman table for each symbol. Accordingly, in general, the symbols are divided into a plurality of groups and a Huffman table is selected for each of the groups. As such, although an overhead bit is additionally required for each of the groups, a total number of bits required for the coding may be reduced by using the statistical models which are suitable for the groups.
In the above-described method, the same coding method is applied to all the groups and only the statistical models are selectively used. However, if a coding method that is the most suitable for symbols of each group is selected from among a plurality of coding methods and a suitable statistical model is also selected in order to perform the selected coding method, the performance of the coding may be improved in comparison to a case when only the statistical models are selected. In this case, the coding methods have fundamental differences from each other and the coding performance deteriorates by using one coding method and is improved by using another coding method. Thus, if only the Huffman coding method and the arithmetic coding method are used as the coding methods, because the two coding methods are similar to each other in that entropy coding is directly performed on the symbols, the coding performance may not be effectively improved.
As described above, improvement of the coding performance may be restrictive if a plurality of coding methods having similar characteristics are selectively used and a new coding method having different characteristics has to be included in the coding methods in order to maximize the improvement of the coding performance by selectively using the coding methods. For example, a new coding method of converting a flow of symbols into a new symbol and coding the new symbol is required instead of a conventional coding method of coding values of symbols.